Inter-Class Mutation Operators for Java
نویسندگان
چکیده
The effectiveness of mutation testing depends heavily on the types of faults that the mutation operators are designed to represent. Therefore, the quality of the mutation operators is key to mutation testing. Mutation testing has traditionally been applied to procedural-based languages, and mutation operators have been developed to support most of their language features. Object-oriented programming languages contain new language features, most notably inheritance, polymorphism, and dynamic binding. Not surprisingly, these language features allow new kinds of faults, some of which are not modeled by traditional mutation operators. Although mutation operators for OO languages have previously been suggested, our work in OO faults indicate that the previous operators are insufficient to test these OO language features, particularly at the class testing level. This paper introduces a new set of class mutation operators for the OO language Java. These operators are based on specific OO faults and can be used to detect faults involving inheritance, polymorphism, and dynamic binding, thus are useful for inter-class testing. An initial Java mutation tool has recently been completed, and a more powerful version is currently under construction.
منابع مشابه
Mutation Operators for Concurrent Java (J2SE 5.0)1
The current version of Java (J2SE 5.0) provides a high level of support for concurreny in comparison to previous versions. For example, programmers using J2SE 5.0 can now achieve synchronization between concurrent threads using explicit locks, semaphores, barriers, latches, or exchangers. Furthermore, built-in concurrent data structures such as hash maps and queues, built-in thread pools, and a...
متن کاملThe Rigorous Generation of Java Mutation Operators Using HAZOP
This report proposes the use of a safety technique known as HAZOP (Hazard and Operability Studies) to rigorously generate mutation operators for Java. A set of Java mutation operators is proposed by applying HAZOP to the Java syntax definition and is compared to the operator sets of current mutation systems. Hypothesised flaws, which are also obtained by HAZOP application to Java language const...
متن کاملAssessing Test Set Adequacy for Object-Oriented Programs Using Class Mutation
The object-oriented paradigm has seen widespread acceptance by the software development community but the testing of programs written in object oriented languages is less well developed than the testing of programs written in conventional ones. This paper introduces Class Mutation which is a form of OO-directed selective mutation testing that provides a means of assessing how good developed tes...
متن کاملSTRUCTURAL OPTIMIZATION USING A MUTATION-BASED GENETIC ALGORITHM
The present study is an attempt to propose a mutation-based real-coded genetic algorithm (MBRCGA) for sizing and layout optimization of planar and spatial truss structures. The Gaussian mutation operator is used to create the reproduction operators. An adaptive tournament selection mechanism in combination with adaptive Gaussian mutation operators are proposed to achieve an effective search in ...
متن کاملA Systematic Approach for Designing Mutation Operators for MDE Languages
Testing is an essential activity in software development, used to increase confidence in the quality of software. One testing approach that is used to evaluate the quality of testing inputs for a particular program is mutation analysis. The most important step in mutation analysis is the process of defining mutation operators that mimic typical errors of the users of a language. There is a wide...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002